package org.dromara.finance.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.finance.domain.SaleInvoice;
import org.dromara.finance.domain.bo.SaleInvoiceBo;
import org.dromara.finance.domain.report.SaleInvoiceDetailVO;
import org.dromara.finance.domain.vo.SaleInvoiceListVo;
import org.dromara.finance.domain.vo.SaleInvoiceVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;

import java.util.List;

/**
 * 销售发票Mapper接口
 *
 * @author xxy
 * @date 2025-08-19
 */
public interface SaleInvoiceMapper extends BaseMapperPlus<SaleInvoice, SaleInvoiceVo> {

    SaleInvoiceVo selectVoById(Long id);

    Page<SaleInvoiceVo> selectInvoiceList(Page<?> page, @Param("bo") SaleInvoiceBo bo);

    List<SaleInvoiceDetailVO> selectByContractId(Long id);

    List<SaleInvoiceListVo> selectInvoiceListByIds(List<Long> ids);
}
